home *** CD-ROM | disk | FTP | other *** search
/ Modeling the Dream / Modeling the Dream CD - Walkthroughs and Flybys II (1994)(Waite Group).iso / spacebar / reimann.txt < prev    next >
Text File  |  1994-08-23  |  5KB  |  298 lines

  1. set maxcall on
  2. set swappath "c:\temp"
  3. init
  4. localise
  5. crab
  6. terminate
  7.  
  8.  
  9. init:
  10. video l
  11. global cr chr(10)$chr(13)               
  12. global ext ""
  13. local trip 1            ;does the sound play?, set to false
  14. . chdir(@c$"\\bigdemo")
  15. opengl @c$"\bigdemo\bigdemo.ovr"
  16. load midpak
  17. @midpak verify
  18. closegl
  19. if !@0
  20.  text "The MIDPAK.COM driver is not loaded!"$@cr
  21.  text "Press any key to return to DOS."
  22.  wait
  23.  exit
  24. endif
  25.  
  26. if !envdef(c)
  27.  text "No C environment variable! "@cr
  28.  text "To run BIGDEMO from DOS use GO.BAT"@cr
  29.  wait
  30.  exit
  31. endif
  32.  
  33. when ESC goto terminate 
  34.  
  35. set fs open(@t$"\mtd\midpak.adv")    ;How big is MIDPAK.ADV
  36. local advsize size(@fs)            ;stick it in ADVSIZE
  37. . close(@fs)
  38.  
  39. databegin                ;sizes of the wave drivers
  40. "44836"
  41. "10590" 
  42. "10816"
  43. "10590"
  44. "7178"
  45. "10590 "
  46. "39859"
  47. "end"
  48. dataend
  49.  
  50. local x @                ;grab first item into var
  51. advhop:
  52. if @x!="end"
  53.  if @x==@advsize
  54.   text "Using wave table synthesis for MIDI"@cr
  55.   set ext ".gen"
  56.   goto advdone
  57.  else
  58.   local x @
  59.   goto advhop
  60.  endif
  61. endif
  62. text "Using frequency modulation (FM) MIDI files"@cr
  63. set ext ".opl"
  64. advdone:
  65.  
  66. opengl @c$"\bigdemo\bigdemo.ovr"
  67. load midpak.grp digpak.grp               ;load grps
  68. closegl
  69. if !@0
  70.  text "Error loading GRP files"
  71.  wait
  72.  exit
  73. else
  74.  text "GRPs loaded..."$@cr
  75. endif
  76.  
  77. . chdir(@c$"\\bigdemo")
  78. load "_laser.raw"
  79. digpak preloaded @_laser
  80. digpak play 
  81.  
  82. tt:
  83. digpak done
  84. if !@0
  85.  set trip 0
  86.  goto tt
  87. endif
  88. free laser
  89.  
  90. if @trip
  91.  text "Sound didn't play!!!!"@cr
  92.  wait 
  93.  exit
  94. else
  95.  text "Sound appears to be playing correctly"@cr
  96. endif
  97. midpak volume 100                      ;MIDPAK driver has internal vol control
  98.                     ;mixer levels for MIDI!!!
  99. text "Press Enter to start now"@cr@cr@cr
  100. text "At runtime pressing Enter will advance"@cr@cr@cr
  101. text "Press Esc at anytime to terminate"@cr@cr@cr
  102. text "Pausing for 10 seconds"
  103.  
  104. flushkey
  105.  
  106. mark 10
  107.  wait 100
  108.  text "."
  109.  waitkey 0
  110.  getkey k name                       
  111.  if @k==return
  112.   return
  113.  endif
  114. loop
  115. return                    ;--------------- end of init
  116.  
  117.  
  118. localise:                ;subroutine checks for flics on hd
  119.                     ;and copies them if possible.
  120. local ax 0 bx 0 cx 0 freebytes 0 chcnt 0 chfile " " downed 0
  121. local runcd 0
  122. . chdir(@t$"\\mtdtemp")
  123. global fromcd 0
  124. int 0x21 0x3600,,,0x0000        ;default drive
  125. if @ax==0xffff
  126.  text "Problem getting free disk space"
  127.  pause
  128.  exitnow
  129. endif
  130. set freebytes (@ax*@bx*@cx)/1000
  131. if @freebytes>=30000
  132.  set enuf 0
  133. else 
  134.  set enuf 1
  135. endif
  136.  
  137. color 0
  138. clearscr
  139. color 15
  140. window
  141.  
  142. databegin ckl
  143. loctop:
  144.  . chdir(@t$"\\mtdtemp")
  145.  set chfile @
  146.  if @chfile<>"end"
  147.   local temp open(@chfile)                               
  148.   if @temp                  
  149.    local success close(@temp)   
  150.   else
  151. ;   text @chfile$": file not found"$@cr
  152.    set downed 1
  153.   endif                     
  154. goto loctop
  155.  endif
  156.  . chdir(@t$"\\mtd")
  157. if @downed==0
  158.  text 0 0 "The requisite files have been found in MTDTEMP"
  159.  waitkey 100
  160.  set fromcd 1
  161.  global drive @t
  162.  return
  163. endif
  164. if @downed==1&&@enuf==0
  165.  databegin
  166.  "You have more than 30MB free on this drive! 
  167.  
  168.  
  169. Press C if you would like to run the MIDPAK BigDemo from the CD, or
  170.  
  171.  
  172. Press D to download the graphics to your hard disk for faster playback.
  173.  
  174.  
  175. Please press either C or D now:"
  176.  dataend
  177.  window
  178.  color 0
  179.  clearscr
  180.  color 15
  181.  text @
  182.  flushkey
  183.  waitkey
  184.  getkey k
  185.  if @k=="d"||"D"
  186.   set fromcd 1
  187.   global drive @t
  188.   download        ;go get the files...
  189.   return
  190.  endif  
  191.  if @k=="c"||"C"
  192.   global drive @c
  193. . chdir(@drive$"\\bigdemo")
  194.   return        ;play as per normal
  195.  endif
  196. endif
  197. if @enuf==1&&@downed==1
  198.   global drive @c
  199. . chdir(@drive$"\\bigdemo")
  200.   return        ;play as per normal
  201. endif
  202. return
  203.  
  204. runmode:
  205. if @fromcd==1
  206.  set thispath "\\mtdtemp\\"
  207. endif
  208. return
  209.  
  210. mp:
  211. midpak use @c$"\\bigdemo\\"$@1$@ext
  212. ;midpak play
  213. return
  214.  
  215. playit:
  216. dload @1 d1 1 
  217. putdff d1 0 0 0 
  218. mark (d1->frames)-1
  219.  putdff d1 @playspeed @loop @loop
  220.  waitkey 0
  221.  getkey k name
  222.  if @k==return
  223.   set broken 1 
  224.   break playout
  225.  endif
  226. loop
  227. playout:
  228. dfree d1
  229. return
  230.  
  231.  
  232. terminate:
  233.  when esc
  234.  digpak quit                 ;implicit loading
  235.  midpak stop
  236.  free digpak midpak
  237. . chdir(@c$"\\spacebar")
  238.  exit
  239.  
  240.  
  241.  
  242.  
  243. download:
  244. video m
  245. color 0
  246. window
  247. clearscr
  248. color 15
  249. exec c:\dos\xcopy.exe @c$"\\flics\\reimann\*.fli "$@t$"\\mtdtemp"
  250. video l
  251. return
  252.  
  253. ckl:
  254. crab7.fli
  255. end
  256.  
  257.  
  258.  
  259.  
  260. crab:
  261. . chdir(@c$"\\bigdemo")
  262. load _door3.raw _EXPLO3.raw _HIT2.raw _WHOOSH.raw
  263. midpak use "crab7"@ext
  264. . chdir(@t$"\\mtd")
  265. set thispath @c$"\\flics\\reimann\\"
  266. runmode
  267. dload @thispath$"\\crab7.fli" d1 1 
  268. data 78 318 "_door3" 573 "_explo3" 610 "_hit2" 655 "_whoosh"
  269. local x @
  270. mark (d1->frames)-1
  271.  putdff d1 0 @loop-1 @loop
  272.  if @loop==@x
  273.   if @x==78
  274. ;    midpak play        ;remove to enable Mitch's favorite tune
  275.   else
  276.     local t @
  277.     digpak preloaded @@t
  278.     digpak play 
  279.    endif
  280.   set x @
  281.   endif
  282.   waitkey 0
  283.   getkey k name                       
  284.   if @k==return
  285.     set broken 1
  286.     break crabout
  287.   endif
  288. loop
  289. crabout:
  290. pfree p2
  291. free _door3 _EXPLO3 _HIT2 _WHOOSH
  292. dfree d1
  293. return
  294.  
  295.                     ;end of subs
  296.  
  297.  
  298.